import threading
import time

import pandas as pd
import streamlit as st
import pymysql
import random
import datetime

from tags import tags

st.set_page_config(
    page_title="厄厄杯-线上娱乐赛",
    page_icon="👋",
)

hide_streamlit_style = """
    <style>
        .reportview-container {
            margin-top: -2em;
        }
        #MainMenu {visibility: hidden;}
        .stDeployButton {display:none;}
        footer {visibility: hidden;}
        #stDecoration {display:none;}
    </style>
            """
st.markdown(hide_streamlit_style, unsafe_allow_html=True)


# Streamlit应用程序
st.markdown("<h1 style='text-align: center;'>🎉厄厄杯-线上娱乐赛🎉</h1>", unsafe_allow_html=True)

# 设定目标日期
target_date = datetime.datetime(2024, 2, 2,23,59)

now = datetime.datetime.now()
countdown = target_date - now

# 格式化显示倒计时
days = countdown.days
hours, remainder = divmod(countdown.seconds, 3600)
minutes, seconds = divmod(remainder, 60)

# 创建一个自定义的HTML和CSS样式
badge_html = """
<div style="
    border: 3px solid #B8860B; 
    border-radius: 15px; 
    text-align: center; 
    color: #B8860B; 
    font-size: 24px; 
    padding: 5px; 
    width: 200px;
    margin: auto;">
    测试阶段
</div>
"""
st.markdown(badge_html, unsafe_allow_html=True)

st.markdown("<br>", unsafe_allow_html=True)

st.markdown("<h3 style='text-align: center;'>比赛规则</h3>", unsafe_allow_html=True)

st.markdown('''
从候选字段池中随机抽取三个字段，每副卡组带字段的卡只能使用这些字段的卡片。所抽单字段卡片（主卡组+额外卡组）数量必须≥5，主卡组中三字段合计≥20（不包含side,换side后必须满足）。''')

st.markdown("<h3 style='text-align: center;'>关键时间节点</h3>", unsafe_allow_html=True)
# 创建一个包含数据的列表
data = [['投票阶段', '1.28','投票确定候选字段池'], ['报名阶段', '1.28 - 2.2','在线上系统报名并抽选字段'], ['测试阶段', '1.30','北科服上线字段赛制卡检以供提前测试'],['正式比赛', '2.5','正式比赛']]

df1 = pd.DataFrame(data, columns=['阶段', '日期','说明'])
st.table(df1)

t2m = {'自然': ['自然'], '珠泪哀歌族': ['珠泪哀歌族'], '真龙': ['真龙'], '真红眼': ['真红眼'],
               '召唤兽': ['召唤兽'], '战华': ['战华'], '斩机': ['斩机'], '御巫': ['御巫'], '游魊': ['魊影'],
               '尤贝尔': ['于贝尔'], '英雄': ['英雄', '幻影英雄', '邪心英雄', '假面英雄', '元素英雄', '命运英雄'],
               '焰圣骑士': ['焰圣骑士', '焰圣剑'],
               '星骑士&&星圣': ['星骑士', '星辉士', '星圣'],
               '相剑': ['相剑'], '吸血鬼': ['吸血鬼'], '无限起动': ['无限起动'], '童话动物': ['童话动物'],
               '铁兽战线': ['铁兽'], '淘气仙星': ['淘气仙星'], '死狱乡': ['死狱乡'], '兽带斗神': ['兽带斗神'],
               '十二兽': ['十二兽'], '圣夜': ['圣夜骑士'], '圣像骑士': ['圣像骑士'], '神数': ['神数'], '神碑': ['神碑'],
               '入魔': ['入魔'], '青眼白龙': ['青眼'], '骑甲虫': ['骑甲虫'],
               '破坏剑&&破坏之剑士': ['破坏剑', '破坏之剑士'], '魔偶甜点': ['魔偶甜点'], '门之守护神': ['门之守护神'],
               '龙女仆': ['半龙女仆'], '炼装勇士': ['炼装'], '雷龙': ['雷龙'], '雷精': ['卫星闪灵'],
               '恐吓爪牙族': ['恐吓爪牙族'], '金傲大奖赛': ['金傲大奖赛'], '疾行机人': ['疾行机人', 'SR'],
               '急袭猛禽': ['急袭猛禽', 'RR'], '机界骑士': ['机界骑士'], '霍普&&异热同心': ['霍普', '异热同心'],
               '幻奏': ['幻奏'], '幻影骑士团': ['幻影骑士团','幻影'], '坏兽': ['坏兽'], '护宝炮妖': ['护宝炮妖'],
               '红莲': ['红莲魔', '共鸣者'], '黑羽': ['黑羽'], '黑魔导': ['魔术', '黑魔术', '黑魔术少女'],
               '光道': ['光道'],
               '虫惑魔': ['虫惑魔', '虫惑', '洞'],
               '齿轮': ['齿轮齿轮', '齿轮齿轮人'], '捕食植物': ['捕食植物'], '宝玉兽': ['宝玉兽', '宝玉', '究极宝玉神'],
               '影依': ['影依'], '自奏': ['自奏圣乐']}

tars = []
for t in tags:
    tars.append([t,",".join(t2m[t])])

st.markdown("<h3 style='text-align: center;'>对阵表</h3>", unsafe_allow_html=True)
st.markdown('<iframe src="https://challonge.com/zh_CN/meldsi1y/module" width="100%" height="500" frameborder="0" scrolling="auto" allowtransparency="true"></iframe>', unsafe_allow_html=True)


st.markdown("<h3 style='text-align: center;'>候选字段池</h3>", unsafe_allow_html=True)

st.markdown('''
以下字段不受限制：
**融合**，**升阶魔法**,**No.**,**灵摆**
''')

df = pd.DataFrame(tars, columns=['名称','具体包括的字段'])
st.table(df)

st.markdown("<h3 style='text-align: center;'>如何判断一张卡是否可以使用？</h3>", unsafe_allow_html=True)
st.markdown('''
🟢 字段是**融合**，**升阶魔法**，**No.**，**灵摆**的卡所有卡组都能使用。\n
''')

st.image("img/info4.png",caption="超融合携带融合字段，因此所有卡组都能使用")

st.markdown('''
🟢 卡具有候选字段池中对应的具体包括的字段的任意一个。\n
''')

st.image("img/info1.png",caption="导化是死狱乡字段，因此抽中'死狱乡'的卡组可以使用。")
st.image("img/info2.png",caption="奎姆是烙印和死狱乡双字段，因其死狱乡字段，所以抽中'死狱乡'的卡组可以使用。")
st.image("img/info3.png",caption="共鸣者虽然不是没有红莲字段，但是由于'候选字段池'的'具体包括的字段'中包含了共鸣者字段，因此抽中'红莲' 的卡组可以使用。")

st.markdown('''
🟢 卡面记述了候选字段池中对应的具体包括的字段的任意一个。\n
''')

st.image("img/info5.png",caption="安洁莉卡虽然是圣剑字段，但是由于其卡面记述了焰圣骑士，因此抽中'焰圣骑士'的卡组可以使用。")

st.markdown('''
🟢 没有字段的卡片。\n
''')